package com.yxx.service;

import com.yxx.entityModel.vo.Result.PageResult;
import com.yxx.entityModel.vo.query.PageQuery;
import com.yxx.entityModel.vo.query.RoleQuery;
import com.yxx.entityModel.vo.request.RoleRequest;
import com.yxx.entityModel.vo.response.RoleResponse;
import com.yxx.entityModel.vo.response.RoleStatusRequest;

import java.util.List;

/**
 * @author yuxiangxun
 * @date 2025/2/5
 * @apiNote
 */
public interface RoleService {

    /**
     * 查看后台角色列表
     * @param roleQuery
     * @return
     */
    PageResult<RoleResponse> roleList(RoleQuery roleQuery);

    /**
     * 添加角色
     */
    void addRole(RoleRequest roleRequest);

    /**
     * 删除角色
     * @param roleIdList
     */
    void deleteRole(List<String> roleIdList);

    /**
     * 修改角色
     * @param roleRequest
     */
    void updateRole(RoleRequest roleRequest);

    /**
     * 修改角色状态
     * @param roleStatus
     */
    void updateRoleStatus(RoleStatusRequest roleStatus);

    /**
     * 查看角色的菜单权限
     * @param roleId
     * @return
     */
    List<Integer> listRoleMenuTree(String roleId);
}
